package com.ventas;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import org.achartengine.ChartFactory;
import org.achartengine.GraphicalView;
import org.achartengine.chart.BarChart.Type;
import org.achartengine.model.SeriesSelection;

import com.reportes.R;
import com.reportes.Reporte_Cancelaciones;
import com.reportes.csmmm;
import com.reportes.login;

import android.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import clasesGraficas.VentasN2;

public class Venta_Promotor extends Activity 
{
	/*** GRAFICA ***/
	GraphicalView mChartView = null;
	LinearLayout layoutGrafica = null;
	
	/*** TERCER NIVEL ***/
	private Intent intPromotorN3 = null; //Se inicializar en la funcion inicializaFlag
	private String [] promotores;
	private int periodo;
	
	/*** INTENTS NIVELES ***/
	private Intent intVentasGenerales = null; //Se inicializar en la funcion inicializaFlag
	private Intent intTipoEvento = null; //Se inicializar en la funcion inicializaFlag
	private Intent intEdad = null; //Se inicializar en la funcion inicializaFlag
	private Intent intCanal = null; //Se inicializar en la funcion inicializaFlag
	private Intent intGenero = null; //Se inicializar en la funcion inicializaFlag
	private Intent intDistrito = null; //Se inicializar en la funcion inicializaFlag
	private AlertDialog.Builder tipoNivel = null; //Se inicializa al seleccionar la grafica para generar el otro nivel
	
	/*** CONSTANTES DE ACTIVITY *****/
	private static final int PROMOTOR_N2 = 1;
	private static final int PROMOTOR_N3 = 2;
	private static final int VENTAS_GENERALES = 3;
	private static final int TIPO_EVENTO = 4;
	private static final int EDAD = 5;
	private static final int CANAL = 6;
	private static final int GENERO = 7;
	private static final int DISTRITO = 8;
	
	/*** FALGS o PARAMETROS ***/
	public int flagGenerarReporte = 0;
	public int flagTiempo = 0; // 1=mes && 2=trimenstre && 3=anno
	public int flagLima = 0;
	public int flagProvincia = 0;
	public int flagNivel=0; 
	
	private Button pickDateInicio;
    private int anhoInicio;
    private int mesInicio;
    private int diaInicio;
    
    private Button pickDateFin;
    private int anhoFin;
    private int mesFin;
    private int diaFin;
    
    private TextView fechaInicio;
    private TextView fechaFin;
    private View view;
    
    static final int DATE_DIALOG_Inicial = 0;
    static final int DATE_DIALOG_Final = 1;

	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.ventas);
		
		this.inicializaFlagPromotor();
		this.inicializaFechaPromotor();
		
		/*** ACTION BAR ***/
		Resources res = getResources();
		Drawable myImage = res.getDrawable(R.drawable.background2);		
		ActionBar actionBar = this.getActionBar();
		actionBar.setBackgroundDrawable(myImage);
		actionBar.setDisplayUseLogoEnabled(true);
		actionBar.setDisplayShowTitleEnabled(false);
		
		/*** DISENO DE LA PANTALLA ***/
		setColorTiempo();
		setColorUbicacion();
		
		GenerarReporte(view);
	}
	
	public void GenerarReporte(View view)
	{
		int numeroInicial = anhoInicio*10000+mesInicio*100+diaInicio;
		int numeroFinal = anhoFin*10000+mesFin*100+diaFin;
		
		if (( ( flagProvincia == 0 && flagLima==0) || flagTiempo == 0)== false) 
		{
			if(numeroFinal>=numeroInicial)
			{
				int mesinicialnumero = (mesInicio) % 4 ;
				int mesfinalnumero = (mesFin) % 4 ;
				
				if((mesinicialnumero!=0 || mesfinalnumero!=0) && flagTiempo==2)
					Toast.makeText(this, "Los meses no coinciden para el trimenstre", Toast.LENGTH_LONG).show();
				else
				{
					if (flagNivel==0)
					{
						this.incializaFlags(VENTAS_GENERALES);
						Toast.makeText(this, "Se genera el reporte por Ventas Generales	", Toast.LENGTH_LONG).show();
					    startActivity(intVentasGenerales);
					}
					if (flagNivel==1)
					{
						/*** DATOS QUE SE LEEN DE LA BD ***/
						double[] p1 = {1000, 1200, 1000};
						double [] p2 = {400, 600, 800};
						double [] p3 = {200, 400, 700};
						double [] p4 = {100, 300, 200};

						List<double[]> eventos = new ArrayList<double[]>();
						eventos.add(p1);
						eventos.add(p2);
						eventos.add(p3);
						eventos.add(p4);
						
						promotores = new String[] {"Promotor 1", "Promotor 2", "Promotor 3", "Promotor 4"};
						
						/**********************************/
						
						VentasN2 ventasPromotor = new VentasN2();
						ventasPromotor.setTituloChart("Ventas en soles por promotor");
						ventasPromotor.ejecutar(eventos, promotores);
						
						this.layoutGrafica = (LinearLayout)findViewById(R.id.idpanelgraficoventa);
						this.mChartView = ChartFactory.getBarChartView(this,ventasPromotor.getDataset(), 
								ventasPromotor.getmRenderer(),Type.STACKED);
						layoutGrafica.removeAllViews();
					    layoutGrafica.addView(mChartView, new LayoutParams(LayoutParams.FILL_PARENT,
						               LayoutParams.FILL_PARENT));
						
						Toast.makeText(this, "Se genera el reporte por promotor", Toast.LENGTH_SHORT).show();
						Toast.makeText(this, "Para obtener mayor informacion presionar una barra", Toast.LENGTH_LONG).show();
						
						/*** PINTADO DE BOTONES LUEGO DE GENERAR LA GRAFICA ***/
						this.incializaFlags(PROMOTOR_N2);
						this.setColorNivel();
						this.setColorTiempo();
						this.setColorUbicacion();
						
						/*** PARAMETROS PARA EL TERCER NIVEL ***/
						//this.incializaFlags(PROMOTOR_N3); //Se inicializa los flags para el nivel 3 de promotores en caso sea usado
						this.mChartView.setOnClickListener(new View.OnClickListener()
						{
							@Override
							public void onClick(View arg0)
							{
								SeriesSelection seriesSelection = mChartView.getCurrentSeriesAndPoint();
								periodo = (int) seriesSelection.getXValue();
								if (seriesSelection != null) //Solo nos interesa cuando se selecciona una linea
								{
									Venta_Promotor.this.crearDialog(); //Creamos el dialgo en caso se use
									//Venta_Promotor.this.incializaFlags(PROMOTOR_N3);
									tipoNivel.show();//Nos sirve para obtener que tipo de nivel queremo
								}
							}
						});
					}
					if (flagNivel==2)
					{
						this.incializaFlags(TIPO_EVENTO);
						Toast.makeText(this, "Se genera el reporte por Tipo de Evento", Toast.LENGTH_LONG).show();
						startActivity(intTipoEvento);
					}
					if (flagNivel==3)
					{
						this.incializaFlags(EDAD);
						Toast.makeText(this, "Se genera el reporte por Edad", Toast.LENGTH_LONG).show();
					    startActivity(intEdad);
					}
					if (flagNivel==4)
					{
						this.incializaFlags(CANAL);
						Toast.makeText(this, "Se genera el reporte por Canal", Toast.LENGTH_LONG).show();
					    startActivity(intCanal);
					}
					if (flagNivel==5)
					{
						this.incializaFlags(GENERO);
						Toast.makeText(this, "Se genera el reporte por Genero", Toast.LENGTH_LONG).show();
					    startActivity(intGenero);
					}
					if (flagNivel==6)
					{
						this.incializaFlags(DISTRITO);
						Toast.makeText(this, "Se genera el reporte por Distrito", Toast.LENGTH_LONG).show();
					    startActivity(intDistrito);
					}
				}
			}
			else
				Toast.makeText(this, "La Fecha Final no puede ser menor a la Fecha Inicial", Toast.LENGTH_LONG).show();
		}	
		else
			Toast.makeText(this, "Debe seleccionar el periodo y la ubicacion", Toast.LENGTH_LONG).show();
	 }
	
	/*** COLOR TIEMPO ***/
	public void establecerColorTiempo(View view)
	{
		Button buttonMensuales = (Button) findViewById(R.id.buttonMensuales);
		Button buttonAnuales = (Button) findViewById(R.id.buttonAnuales);
		Button buttonTrimestrales = (Button) findViewById(R.id.buttonTrimestrales);
		
		if (buttonMensuales.isPressed()) flagTiempo=1;
		else if (buttonAnuales.isPressed()) flagTiempo=3;
		else if (buttonTrimestrales.isPressed()) flagTiempo=2;
		setColorTiempo();
	}

	public void setColorTiempo(){
		
		Button buttonMensuales = (Button) findViewById(R.id.buttonMensuales);
		Button buttonAnuales = (Button) findViewById(R.id.buttonAnuales);
		Button buttonTrimestrales = (Button) findViewById(R.id.buttonTrimestrales);
	
		if (flagTiempo==1){
			
			Drawable d1 = buttonMensuales.getBackground();
            PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);
            d1.setColorFilter(filter);
			
			
			Drawable d2 = buttonAnuales.getBackground();
            findViewById(R.id.buttonAnuales).invalidateDrawable(d2);
            d2.clearColorFilter();
			
            Drawable d3 = buttonTrimestrales.getBackground();
            findViewById(R.id.buttonTrimestrales).invalidateDrawable(d3);
            d3.clearColorFilter();
			
		}
		if (flagTiempo==3){
			Drawable d1 = buttonAnuales.getBackground();
            PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);
            d1.setColorFilter(filter);

			
			Drawable d2 = buttonMensuales.getBackground();
            findViewById(R.id.buttonMensuales).invalidateDrawable(d2);
            d2.clearColorFilter();
			
            Drawable d3 = buttonTrimestrales.getBackground();
            findViewById(R.id.buttonTrimestrales).invalidateDrawable(d3);
            d3.clearColorFilter();

		
		}
		if (flagTiempo==2) {
			Drawable d1 = buttonTrimestrales.getBackground();
            PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);
            d1.setColorFilter(filter);

			
			Drawable d2 = buttonMensuales.getBackground();
            findViewById(R.id.buttonMensuales).invalidateDrawable(d2);
            d2.clearColorFilter();
			
            Drawable d3 = buttonAnuales.getBackground();
            findViewById(R.id.buttonAnuales).invalidateDrawable(d3);
            d3.clearColorFilter();
			
		}
	}
	
	/*** COLOR UBICACION ***/
	public void establecerColorUbicacion(View view){


		Button buttonLima = (Button) findViewById(R.id.buttonLima);
		Button buttonProvincia = (Button) findViewById(R.id.buttonProvincia);

        
        if (buttonLima.isPressed()){
        	if (flagLima == 0)  flagLima=1; else flagLima=0;
		}
		if (buttonProvincia.isPressed()){
			
			if(flagProvincia==0) flagProvincia=1; else flagProvincia=0;
		}
		
		setColorUbicacion();
        
	}

	public void setColorUbicacion(){
		

		Button buttonLima = (Button) findViewById(R.id.buttonLima);
		Button buttonProvincia = (Button) findViewById(R.id.buttonProvincia);
		
		
        if (flagLima == 1) {
        		
        	Drawable d1 = buttonLima.getBackground();
            PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);
            d1.setColorFilter(filter);

    	}
    	else{

    		Drawable d2 = buttonLima.getBackground();
            findViewById(R.id.buttonLima).invalidateDrawable(d2);
            d2.clearColorFilter();
    	}

		if(flagProvincia==1){

			
			Drawable d1 = buttonProvincia.getBackground();
            PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);
            d1.setColorFilter(filter);

			
		}
		else{

            
			Drawable d2 = buttonProvincia.getBackground();
            findViewById(R.id.buttonProvincia).invalidateDrawable(d2);
            d2.clearColorFilter();
            
		}
	}
	
	/*** COLOR DE LOS NIVELES **/
	public void setColorNivel()
	{
		Button buttonCanal = (Button) findViewById(R.id.buttonCanal);
		Button buttonGenero = (Button) findViewById(R.id.buttonGenero);
		Button buttonPromotor = (Button) findViewById(R.id.buttonPromotor);
		Button buttonEdad = (Button) findViewById(R.id.buttonEdad);
		Button buttonTipoEvento = (Button) findViewById(R.id.buttonTipoEvento);
		Button buttonDistrito = (Button) findViewById(R.id.buttonDistrito);
	
		if (flagNivel == 1)
		{
			Drawable d1 = buttonPromotor.getBackground();
            PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);
            d1.setColorFilter(filter);
    	}else
		{
			Drawable d1 = buttonPromotor.getBackground();
            findViewById(R.id.buttonPromotor).invalidateDrawable(d1);
            d1.clearColorFilter();
		}
		
		if (flagNivel == 2)
		{
			Drawable d1 = buttonTipoEvento.getBackground();
            PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);
            d1.setColorFilter(filter);
        }else
        {
        	Drawable d1 = buttonTipoEvento.getBackground();
            findViewById(R.id.buttonTipoEvento).invalidateDrawable(d1);
            d1.clearColorFilter();
		}
		
		if (flagNivel == 3)
		{
			Drawable d1 = buttonEdad.getBackground();
            PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);
            d1.setColorFilter(filter);
    	}else
    	{
    		Drawable d1 = buttonEdad.getBackground();
            findViewById(R.id.buttonEdad).invalidateDrawable(d1);
            d1.clearColorFilter();
        }
		
		if (flagNivel == 4)
		{
			Drawable d1 = buttonCanal.getBackground();
            PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);
            d1.setColorFilter(filter);
        }else
        {
        	Drawable d1 = buttonCanal.getBackground();
            findViewById(R.id.buttonCanal).invalidateDrawable(d1);
            d1.clearColorFilter();
        }

		if (flagNivel == 5)
		{
			Drawable d1 = buttonGenero.getBackground();
            PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);
            d1.setColorFilter(filter);
        }else
        {
        	Drawable d1 = buttonGenero.getBackground();
            findViewById(R.id.buttonGenero).invalidateDrawable(d1);
            d1.clearColorFilter();
        }

		if (flagNivel == 6)
		{
			Drawable d1 = buttonDistrito.getBackground();
            PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);
            d1.setColorFilter(filter);
        }else
        {
        	Drawable d1 = buttonDistrito.getBackground();
            findViewById(R.id.buttonDistrito).invalidateDrawable(d1);
            d1.clearColorFilter();
        }
	}
	
	public void establecerSegundoNivel(View view)
	{
		Button buttonCanal = (Button) findViewById(R.id.buttonCanal);
		Button buttonGenero = (Button) findViewById(R.id.buttonGenero);
		Button buttonPromotor = (Button) findViewById(R.id.buttonPromotor);
		Button buttonEdad = (Button) findViewById(R.id.buttonEdad);
		Button buttonTipoEvento = (Button) findViewById(R.id.buttonTipoEvento);
		Button buttonDistrito = (Button) findViewById(R.id.buttonDistrito);
	
		if (buttonCanal.isPressed())if (flagNivel == 4) flagNivel=0; else flagNivel=4;
		else if (buttonGenero.isPressed()) if (flagNivel == 5) flagNivel=0; else flagNivel=5;
		else if (buttonPromotor.isPressed()) if (flagNivel == 1) flagNivel=0; else flagNivel=1;
		else if (buttonTipoEvento.isPressed()) if (flagNivel == 2) flagNivel=0; else flagNivel=2;
		else if (buttonEdad.isPressed()) if (flagNivel == 3) flagNivel=0; else flagNivel=3;
		else if (buttonDistrito.isPressed()) if (flagNivel == 6) flagNivel=0; else flagNivel=6;
		
		setColorNivel();
	}
	
	/*** FECHAS ***/
	protected Dialog onCreateDialog(int id)
	{
		switch (id)
		{
		   case DATE_DIALOG_Inicial:
			   DatePickerDialog dialogoInicio =new DatePickerDialog(this, mDateSetListenerInicio, anhoInicio, mesInicio, diaInicio);
			   dialogoInicio.getDatePicker();
			   return dialogoInicio;
		    
		   case DATE_DIALOG_Final:
			    DatePickerDialog dialogoFin =new DatePickerDialog(this, mDateSetListenerFin, anhoFin, mesFin, diaFin);
			    dialogoFin.getDatePicker();
			    return dialogoFin;
		}
		
		return null;
	}
	
	/*** FECHA INICIO ***/
	private DatePickerDialog.OnDateSetListener mDateSetListenerInicio = new DatePickerDialog.OnDateSetListener()
		{
			public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
			{
				anhoInicio = year;
				mesInicio = monthOfYear;
				diaInicio = dayOfMonth;
				fechaInicio = (TextView) findViewById(R.id.fechaInicio);
				fechaInicio.setText("Fecha Inicio: " + diaInicio + "/"+ (mesInicio + 1) + "/"+ anhoInicio);
			}
		};
	
	/*** FECHA FIN ***/
	private DatePickerDialog.OnDateSetListener mDateSetListenerFin = new DatePickerDialog.OnDateSetListener()
	{
		public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
		{
			anhoFin = year;
			mesFin = monthOfYear;
			diaFin = dayOfMonth;
			fechaFin = (TextView) findViewById(R.id.fechaFin);
			fechaFin.setText("Fecha Fin: " + diaFin + "/"+ (mesFin + 1) + "/"+ anhoFin);
		}
	};
	
	
	
	/*** DIALOGO ***/
	private void crearDialog()
	{
		tipoNivel = new AlertDialog.Builder(this);
		tipoNivel.setTitle("Ventas por Promotores");
		tipoNivel.setMessage("Seleccione por que tipo de informacion que desea mostrar la siguiente gráfica");
		//tipoNivel.setCancelable(true);

		tipoNivel.setPositiveButton("Por Tipo de Evento", new DialogInterface.OnClickListener()
		{ 
			public void onClick(DialogInterface dialog, int id) 
			{ 
				Venta_Promotor.this.incializaFlags(PROMOTOR_N3);
				intPromotorN3.putExtra("tipoNivel3", 1);
				intPromotorN3.putExtra("promotores",promotores);
				intPromotorN3.putExtra("periodo",periodo);
				startActivity(intPromotorN3);
			}
		});
		
		tipoNivel.setNeutralButton("Por Canal", new DialogInterface.OnClickListener()
		{ 
			public void onClick(DialogInterface dialog, int id) 
			{
				Venta_Promotor.this.incializaFlags(PROMOTOR_N3);
				intPromotorN3.putExtra("tipoNivel3", 2);
				intPromotorN3.putExtra("promotores",promotores);
				intPromotorN3.putExtra("periodo",periodo);
				startActivity(intPromotorN3);
			}
		});
		
		tipoNivel.setNegativeButton("Por Rango de Edades", new DialogInterface.OnClickListener()
		{ 
			public void onClick(DialogInterface dialog, int id) 
			{ 
				Venta_Promotor.this.incializaFlags(PROMOTOR_N3);
				intPromotorN3.putExtra("tipoNivel3", 3);
				intPromotorN3.putExtra("promotores",promotores);
				intPromotorN3.putExtra("periodo",periodo);
				startActivity(intPromotorN3);
			}
		});

		tipoNivel.create();
	}
	
	/*** INCIALIZA FECHA ***/
	private void inicializaFechaPromotor()
	{
		pickDateInicio = (Button) findViewById(R.id.ButtonInicio);

		pickDateInicio.setOnClickListener(new View.OnClickListener() {
		            public void onClick(View v) {
		                showDialog(DATE_DIALOG_Inicial);
		            }
		        });
		        
		final Calendar c = Calendar.getInstance();
		anhoInicio = c.get(Calendar.YEAR);
		mesInicio = c.get(Calendar.MONTH);
		diaInicio = c.get(Calendar.DAY_OF_MONTH);
		
		fechaInicio = (TextView) findViewById(R.id.fechaInicio);
		fechaInicio.setText("Fecha Inicio: " + diaInicio + "/"+ (mesInicio +1) + "/"+ anhoInicio);
		
		
		pickDateFin = (Button) findViewById(R.id.ButtonFin);

		pickDateFin.setOnClickListener(new View.OnClickListener() {
		            public void onClick(View v) {
		                showDialog(DATE_DIALOG_Final);
		            }
		        });
		        
		anhoFin = c.get(Calendar.YEAR);
		mesFin = c.get(Calendar.MONTH);
		diaFin = c.get(Calendar.DAY_OF_MONTH);
		
		fechaFin = (TextView) findViewById(R.id.fechaFin);
		fechaFin.setText("Fecha Fin: " + diaFin + "/"+ (mesFin +1) + "/"+ anhoFin);
	}
	
	/*** INICIALIZA FLAG DEL INTENT ***/
	private void inicializaFlagPromotor ()
	{
		flagGenerarReporte = this.getIntent().getExtras().getInt("flagGenerarReporte");
		flagLima= this.getIntent().getExtras().getInt("flagLima");
		flagProvincia= this.getIntent().getExtras().getInt("flagProvincia");
		flagNivel= this.getIntent().getExtras().getInt("flagNivel");
		flagTiempo= this.getIntent().getExtras().getInt("flagTiempo");
		
		anhoInicio= this.getIntent().getExtras().getInt("anhoInicio");
		mesInicio= this.getIntent().getExtras().getInt("mesInicio");
		diaInicio= this.getIntent().getExtras().getInt("diaInicio");
		
		diaFin= this.getIntent().getExtras().getInt("diaFin");
		mesFin= this.getIntent().getExtras().getInt("mesFin");
		anhoFin= this.getIntent().getExtras().getInt("anhoFin");
	}
	
	/*** FLAGS ***/
	private void incializaFlags(int intent)
	{
		Intent intVenta = null;
		switch(intent)
		{
			case PROMOTOR_N3:
				intPromotorN3 = new Intent(Venta_Promotor.this,Venta_Promotor_Nivel3.class); //Se usa para inicializar para toda la clase
				intVenta = intPromotorN3;
				break;
			
			case PROMOTOR_N2:
				Intent intPromotor = this.getIntent(); //Solo para actualizar esta misma clase
				intVenta = intPromotor;
				break;
				
			case VENTAS_GENERALES:
				intVentasGenerales = new Intent(Venta_Promotor.this,VentasGenerales.class);
				intVenta = intVentasGenerales;
				break;
				
			case TIPO_EVENTO:
				intTipoEvento = new Intent(Venta_Promotor.this,Venta_TipoEvento.class);
				intVenta = intTipoEvento;
				break;
				
			case EDAD:
				intEdad = new Intent(Venta_Promotor.this, Venta_Edad.class);
				intVenta = intEdad;
				break;
				
			case CANAL:
				intCanal = new Intent(Venta_Promotor.this, Venta_Edad.class);
				intVenta = intCanal;
				break;
			
			case GENERO:
				intGenero = new Intent(Venta_Promotor.this, Venta_Genero.class);
				intVenta = intGenero;
				break;
				
			case DISTRITO:
				intDistrito = new Intent(Venta_Promotor.this, Venta_Distrito.class);
				intVenta = intDistrito;
				break;
		}
		
		intVenta.putExtra("flagLima", flagLima);
		intVenta.putExtra("flagProvincia", flagProvincia);
		intVenta.putExtra("flagNivel", flagNivel);
		intVenta.putExtra("flagTiempo", flagTiempo);
		intVenta.putExtra("anhoInicio", anhoInicio);
		intVenta.putExtra("mesInicio", mesInicio);
		intVenta.putExtra("diaInicio", diaInicio);
		intVenta.putExtra("anhoFin", anhoFin);
		intVenta.putExtra("mesFin", mesFin);
		intVenta.putExtra("diaFin", diaFin);
		intVenta.putExtra("flagGenerarReporte", 1);
	}
	
	/*** ACTION BAR ***/	
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu)
	{
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.menuprincipal, menu);
		return true;
	}
	
	@Override
	public boolean onOptionsItemSelected(MenuItem item)
	{
		switch (item.getItemId())
		{
			case R.id.logout:
				Intent logo = new Intent(this,login.class);
				startActivity(logo);
				return true;
			case R.id.ventas:
				Intent ventas = new Intent(this,VentasGenerales.class);
				startActivity(ventas);
				return true;
			case R.id.consultas:
				Intent consultas = new Intent(this,login.class);
				startActivity(consultas);
				return true;
			case R.id.cancelaciones:
				Intent cancelaciones = new Intent(this,Reporte_Cancelaciones.class);
				startActivity(cancelaciones);
				return true;
			case R.id.evolutivo:
				Intent evolutivo = new Intent(this,csmmm.class);
				startActivity(evolutivo);
				return true;
			default:
				return super.onOptionsItemSelected(item);
		}
	}
}
